Example embodiments relates to a semiconductor device. For example, at least some example embodiments relate to a storage device configured to receive an FPGA image through a main interface or a sideband interface.
Semiconductor memories may be classified into volatile memory devices, which lose data stored therein at power-off, such as a static random access memory (SRAM), a dynamic RAM (DRAM), and a synchronous DRAM (SDRAM), and nonvolatile memory devices, which retain data stored therein even at power-off, such as a read only memory (ROM), a programmable ROM (PROM), an electrically programmable ROM (EPROM), an electrically erasable and programmable ROM (EEPROM), a flash memory device, a phase-change RAM (PRAM), a magnetic RAM (MRAM), a resistive RAM (RRAM), and a ferroelectric RAM (FRAM).
A controller for controlling such a semiconductor memory generally includes a hardware module, a function block, a circuit, etc. for the purpose of performing various functions. The hardware module, the function block, the circuit, etc. may be implemented in the controller, and various kinds of electronic devices each including the controller and the semiconductor memory are supplied to an end user. However, once an electronic device is supplied to the end user, it may be difficult to upgrade the hardware module, the function block, the circuit, etc. constituting the controller. Therefore, a field programmable gate array (FPGA) may be included in the controller for the purpose of implementing an upgradable specific function.
To upgrade the specific function of the controller, the FPGA may be updated. In this case, an external memory such as a compact flash (CF) card is used to receive, from the outside, an FPGA image associated with updating the FPGA. However, a separate dedicated circuit for receiving the FPGA image may be utilized to read the external memory, thereby causing an increase in costs, an increase in the chip size, etc.